package edu.cgpi.core.entidade.grafico;

import java.awt.Color;

import edu.cgpi.core.entidade.CirculoOtimizado;
import edu.cgpi.core.entidade.Cor;
import edu.cgpi.core.entidade.Ponto;
import edu.cgpi.core.util.Normalizador;
import edu.cgpi.view.GerenciadorUI;

public class CirculoOtimizado2D extends CirculoOtimizado implements Imagem {

	private Cor cor;
	
	public CirculoOtimizado2D(Ponto ponto1, Ponto ponto2) {
		super(ponto1, ponto2);
		this.cor = new Cor(Color.BLACK);
	}

	public CirculoOtimizado2D(Ponto ponto1, Ponto ponto2, Cor cor) {
		super(ponto1, ponto2);
		this.cor = cor;
	}

	public CirculoOtimizado2D(Ponto centroNorm, Double raioNorm, Cor cor2) {
		super(centroNorm, raioNorm);
		this.cor = cor;
	}

	public Cor getCor() {
		return cor;
	}
	
	public void setCor(Cor cor) {
		this.cor = cor;
	}

	@Override
	public Ponto obterLocalizacao() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean estaFinalizada() {
		// TODO Auto-generated method stub
		return false;
	}

	@Override
	public void setFinalizada(boolean b) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void atualizar(Ponto ponto) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public Imagem normalizar() {
		Ponto centroNorm = Normalizador.normalizar(this.getCentro());
		Double raioNorm = getRaio()/GerenciadorUI.getInstance().getPainelDesenho().getWidth();
		return new CirculoOtimizado2D(centroNorm, raioNorm, cor);
	}

	@Override
	public Imagem expandir() {
		Ponto centroNorm = Normalizador.desnormalizar(this.getCentro());
		Double raioNorm = getRaio()*GerenciadorUI.getInstance().getPainelDesenho().getWidth();
		return new CirculoOtimizado2D(centroNorm, raioNorm, cor);
	}

}